Java SDK API文档

本文档将详细介绍Java SDK的API,如果您想要了解如何接入,建议您阅读Java SDK 使用指南获得安装并使用SDK的方法。您可以在访问GitHub获取Java SDK的源代码。

最新版本为:1.3.1

更新时间为:2019-09-27

一、实例化类

Java SDK共提供三种Consumer,分别为写入本地文件的LoggerConsumer,直接上传数据的BatchConsumer,以及调试用的DebugConsumer

1. LoggerConsumer:批量实时写本地文件,按配置切分文件


LoggerConsumer​(ThinkingDataAnalytics.LoggerConsumer.Config config)
    /**
     *创建指定配置信息的 LoggerConsumer
     *@param  config 传入LoggerConsumer.Config对象来设置上报参数
    */

LoggerConsumer​(String log_directory)
    /**
     *创建指定日志存放目录的LoggerConsumer, 单个日志文件默认按天切分,无大小限制
     *@param     log_directory     日志存放目录
    */

LoggerConsumer​(String log_directory, int maxFileSize)
    /**
     *创建指定日志存放目录的 LoggerConsumer, 并指定单个日志文件大小, 单个日志文件按天、按大小切分
     *@param      log_directory   日志目录
     *@param      maxFileSize     单个日志文件大小限制,单位 MB
    */

1.1 LoggerConsumer.Config:LoggerConsumer的配置类

Config​(String log_directory) 
    /**
     *创建指定日志存放路径的 LoggerConsumer 配置
     *@param     log_directory     日志存放路径
    */

Config​(String log_directory, int maxFileSize)
    /**
     *创建指定日志存放路径的 LoggerConsumer 配置
     *@param    log_directory      日志存放路径
     *@param    maxFileSize        日志大小, 单位 MB, 默认为 1024 MB
    */

setBufferSize​(int bufferSize)     
    /**
     *设置缓冲区容量, 当超过该容量时会触发 flush 动作
     *@param     bufferSize         缓冲区大小,单位 byte. 
    */

setFileSize​(int maxFileSize)     
    /**
     *设置日志大小
     *@param     maxFileSize       日志大小,单位 MB
    */

setRotateMode​(ThinkingDataAnalytics.LoggerConsumer.RotateMode rotateMode)     
    /**
     *设置日志切分模式
     *@param     rotateMode   日志切分模式 
     *           DAILY            按日切分
     *           HOURLY       按小时切分
    */

2. BatchConsumer:批量实时向服务器传输数据(不建议在生产环境中使用)

BatchConsumer(String server_uri,String appid)
        /**
         *生成BatchConsumer,用于实时地向服务器传输数据,不需要配合其他的传输工具
         *@param     server_uri       传输数据的uri
         *@param     appid            服务器验证的token
         *默认传输数据的大小为500行
        */

BatchConsumer(String server_uri, String appid, int batch,int timeout, int interval)
        /**
         *生成BatchConsumer,用于实时向服务器传输数据,不需要配合其他的传输工具
         *@param     server_uri       传输数据的uri
         *@param     appid            服务器验证的token    
         *@param     batch            最大传输数据量,单位是数据的条数,默认为20条数据
         *@param     timeout          请求的超时时间,单位为毫秒,默认为30秒.
         *@param     interval         推送数据的最大时间间隔,单位是秒,默认为3秒.
        */

3. DebugConsumer:调试用的实例,逐条上报,如果存在数据错误,数据将无法入库,同时将会返回详细的错误原因

DebugConsumer​(String serverUrl, String appId)
      /**
      *创建指定接收端地址和 APP ID 的 DebugConsumer
      *@param       serverUrl       接收端地址
      *@param       appId           APP ID
      */

4. 获得SDK实例

ThinkingDataAnalytics(final Consumer consumer)
    /**
     * 获得SDK实例,接收一个Consumer的实例化对象
     * @param consumer    BatchConsumer、LoggerConsumer或ProduceKafka实例
    */

二、数据操作:

1. 上传事件


void track(String account_id,String distinct_id,String event_name,Map<String,Object> properties)
    /**
     * 上传事件
     * @param     ccount_id         账号ID
     * @param     distinct_id       访客ID,账号ID与访客ID必须传入一个
     * @param     event_name        事件名称
     * @param     properties        事件属性,支持的类型为Number, String, Date, Boolean
     * @throws    InvalidArgumentException    数据错误
    */

2. 设置公共属性

void setSuperProperties(Map<String, Object> properties)
    /**
     * 设置公共属性,只用于track接口,其他接口无效,每次上传事件时自动添加设置的公共属性
     * @param properties    公共属性
    */

3. 清除公共属性

void clearSuperProperties()
    /**
     * 清空所有的公共事件属性,在下次设置之前,上传事件将不再带有公共属性
    */

4. 设置用户属性

void user_set(String account_id,String distinct_id,Map<String,Object> properties)
    /**
     * 设置用户属性,如果该用户已经存在该属性,则覆盖,如果不存在则新建该属性
     * @param    account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @param    properties    设置的用户属性
     * @throws InvalidArgumentException    数据错误
    */

5. 设置单次用户属性

void user_setOnce(String account_id,String distinct_id,Map<String,Object> properties)
    /**
     * 设置用户属性,如果该用户已经存在该属性,不进行覆盖,如果不存在则新建该属性
     * @param    account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @param    properties    设置的用户属性
     * @throws InvalidArgumentException    数据错误
    */

6. 累加用户属性

void user_add(String account_id,String distinct_id,Map<String,Object> properties)
    /**
     * 累加用户属性,只支持Number类型的属性做累加操作
     * @param    account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @param    properties    增加的用户属性
     * @throws    InvalidArgumentException    数据错误
    */

7. 删除用户

void user_del(String account_id,String distinct_id)
    /**
     * 删除用户的接口,请注意该操作可能产生不可逆的后果,请慎用
     * @param     account_id    账号ID
     * @param    distinct_id    访客ID,账号ID与访客ID必须传入一个
     * @throws    InvalidArgumentException    数据错误
    */

8. 立即上传数据

void flush()
    /**
     * 立即提交数据到相应的接收器
    */

9. 关闭并退出SDK

void close()
    /**
     * 关闭并退出sdk
    */

results matching ""

    No results matching ""